#include "CaloricRequirementsSuite.h"
#include "CapyTestLib/TestCase.h"
#include <wx/wx.h>

enum UnitsType { Metric, Empirical };
enum ExerIntensType { Sendentary, Low, Medium, High };

class QuickCalculator
{
public:
	void SetUnits(UnitsType units) { }
	void EnterHeight(const wxString& units, const wxString& subunits) { }
	void EnterWeight(const wxString& units) { }
	void EnterExercise(const wxString& hoursPerWeek, const wxString& intensity) { }
	int InvokeCalculate() { return 0; }
private:
	UnitsType units;
};

class GetDailyRequirements : public TestCase
{
public:
	GetDailyRequirements() : TestCase(_T("GetDailyRequirements")) { }

	void Run() 
	{
		int expected = 0;

		calc.SetUnits(Empirical);
		calc.EnterHeight(_T("5"), _T("8"));
		calc.EnterWeight(_T("150"));
		calc.EnterExercise(_T("8"), _T("Medium"));

		int calculated = calc.InvokeCalculate();

		AssertEqual(expected, calculated);
	}
private:
	QuickCalculator calc;
};

class TC2 : public TestCase
{
public:
	TC2() : TestCase(_T("TC2")) { }
	void Run() { }
};

class TC3 : public TestCase
{
public:
	TC3() : TestCase(_T("TC3")) { }
	void Run() { }
};

CaloricRequirementsSuite::CaloricRequirementsSuite() 
: TestSuite(_T("Caloric Requirements Suite"))
{
	Add(new GetDailyRequirements());
	Add(new TC2());
	Add(new TC3());
}